Many electronic devices include embedded systems with central processor units (CPUs) to control the operation of the devices providing greatly enhanced functionality and operational flexibility. Typically, non-volatile memory is included as a portion of the embedded system to store operating system program code and data for operating the embedded system. Recently, embedded systems have begun to use flash memory for the non-volatile memory. Flash memory may advantageously be efficiently reprogrammed while also providing non-volatile storage of information.
Flash memory devices can be controlled by command sequences describing, for example, read, write, or erase operations. The command sequences for controlling flash memory devices that are fabricated by different flash memory device manufacturers may differ based on the requirements and specification of the respective manufacturer. The hardware (e.g., a memory controller) that generates and executes command sequences to access flash memory devices is generally adapted to the configuration of command sequences as required by the respective flash memory manufacturer.